As a rule, day-to-day clinical activities are nowadays based on a group of servers, to which a group of clients has access. The client-server system serves to handle the processing of complex medical task flows. This might involve, for instance, modular and/or nested workflows, relating for example to an MRI examination, a laboratory investigation and the subsequent post-processing of the data. Here the investigation on the MRI scanner encompasses various sub-tasks, such as for example the generation of a suitable measurement sequence for the investigation to be performed and the adaptation of the particular measurement sequence to the MR scanner. In order to be able to carry out the clinical operations as efficiently as possible, it is important to assign the tasks to be executed to the suitable server in each case. In particular the servers must have the appropriate technical prerequisites in order to be able to perform the task at all.
A large number of methods in the field of load calculation/load balancing are known from information technology. A distinction is drawn here between two different approaches: On the one hand are software-based and hardware-based load balancing systems. One example of a software-based approach is the load balancing system from Microsoft, which is known as Microsoft Network Loadbalancing (NLB). Here, incoming data packets for processing are forwarded to all basically available server machines. A check is then performed to ascertain which server machine is best suited to the service or the particular packet concerned. This server machine is then identified, and prepared for the processing of the data packet. The data packet received is then deleted on all the other server machines. This procedure leads to relatively high levels of data traffic.
One example of a hardware-based load balancing is the “NitroSwitch” system supplied by NENTEC Netzwerktechnologie GmbH. In contrast to the Microsoft system just mentioned, here the data packet to be processed is forwarded only to that server machine on which the processing will ultimately take place.
A large number of algorithms are furthermore known from information technology, according to which load balancing can be controlled. These include, for example the so-called Weighted-Round-Robin-Method, the Weighted-Least-Connections-Method and the Weighted-Least-Traffic-Method etc. In the case of load balancing using NitroSwitch it is possible to determine which of the predefined algorithms is to be used in the particular case.
In addition to the two previously mentioned suggestions for load balancing from the prior art in the field of information technology, a plurality of further suggestions are known. In the case of the known methods the criteria based upon which load balancing takes place are, however, generally hardware-based and prescribed, and do not match the specific characteristics of a medical engineering-related task flow.
A further known system from the prior art is disclosed in U.S. Pat. No. 7,127,716 from the company Hewlett-Packard Development, the entire contents of which is incorporated herein by reference. This method is based on latency time-based load balancing, and presupposes a complex administration system for workflows. Before execution of a particular task, the server system is first calibrated with respect to the task to be executed. The workload arising is here calculated in advance and distributed in relation to the available servers such that that the overall latency time can be minimized. For a number of reasons the method proposed here is not likely to be suitable for use in a clinical or medical engineering context, as in this case medical-specific and clinical criteria must be taken into account, in order to achieve optimum load balancing.